<?php

namespace app\common\model\sys;

use think\Model;
use app\common\traits\ModelTrait;

/**
 * 上传文件管理 - 模型
 * @author kaige
 * @copyright ©2022 泉州市盛筑信息科技有限公司 版权所有
 * @update 2022-04-25
 */
class SysFiles extends Model
{
  //时间自动存储
  protected $autoWriteTimestamp = true;
  protected $createTime = 'create_time';
  protected $updateTime = false;

  // 设置字段信息(避免多一次查询的开销)
  protected $schema = [
    'id'              => 'string',
    'group_id'        => 'int',
    'hash'            => 'string',
    'name'            => 'string',
    'file_type'       => 'string',
    'file_ext'        => 'string',
    'file_size'       => 'string',
    'file_size_cn'    => 'string',
    'url'             => 'string',
    'path'            => 'string',
    'storage_engine'  => 'int',
    'ip'              => 'string',
    'use_count'       => 'int',
    'company_id'      => 'int',
    'browser'         => 'string',
    'handle_uid'      => 'int',
    'create_time'     => 'int',
  ];

  use ModelTrait;

  //关联分组
  public function glgroup()
  {
    return $this->hasOne('SysFilesGroup', 'id', 'group_id')->bind(['group_name' => 'name']);
  }
  //关联单位
  public function glcompany()
  {
    return $this->hasOne('app\common\model\hrm\HrmCompany', 'id', 'company_id')->bind(['company_name' => 'name']);
  }
  //关联会员
  public function gluser()
  {
    return $this->hasOne('SysUser', 'id', 'handle_uid')->bind(['handle_name' => 'real_name']);
  }

}
